#include<iostream>
#include<algorithm>

using namespace std;

//int _count = 0;
//int main()
//{
//	for (int i = 1; i <= 2023; i++)
//	{
//		if (2023%i==0)
//			_count++;
//	}
//	cout << _count;
//	return 0;
//}
/*
int _count;
int l,r;
int main()
{
	for(l=0;l<=100;l++)
	{
		for(r=l+10;r<=100;r++)
		{
			if(r-l>=10)
				{
					_count++;
					cout<<l<<' '<<r<<endl;
				}
		}
	}
	cout<<_count;
	return 0;
}*/
/*
int retans(int u)
{
	if(u<9)
		return u;
		
	return (u%10)+retans(u/10);
}
int _count;

int main()
{
	for(int i=101;i<=1000000;i++)
	{
		for(int j=2;j<i;j++)
		{
			
			if(i%j==0)
			{
				
			}
			else
			{
				int ans = retans(i);
				if(ans == 23)
					_count++;
			}
		}		
	}
	cout<<_count;
	return 0;
}*/

/*
#include <iostream>

using namespace std;

int n;
int ans;
int main()
{
    cin >> n;
    while (1)
    {
        if (n - 3 >= 0)
        {
            if (n - 3 == 0)
            {
                ans++;
                goto ON;

            }
            else
            {
                n -= 3;
                ans++;
            }
            continue;
        }
        if (n - 2 >= 0)
        {
            if (n - 2 == 0)
            {
                ans++;
                goto ON;

            }
            else
            {
                n -= 2;
                ans++;
            }
            continue;

        }
        if (n - 1 >= 0)
        {
            if (n - 1 == 0)
            {
                ans++;
                goto ON;

            }
            else
            {
                n -= 1;
                ans++;
            }
            continue;

        }

    }
ON:
    cout << ans;
    return 0;
}*/
/*
int n;
const int N =1003;
int a[N];

int _max=-1;
int _min=10001;

int main()
{
	cin>>n;
	for(int i =0;i<n;i++)
	{
		cin>>a[i];
	}
	for(int i=1;i<n-1;i++)
	{
		if(a[i]<a[i-1]&&a[i]<a[i+1])
		{
			if(_max<a[i])
				_max=a[i];
		}
		if(a[i]>a[i-1]&&a[i]>a[i+1])
		{
			if(_min>a[i])
				_min=a[i];
		}
	}
	cout<<_max<<' '<<_min;
	return 0;
}*/
/*
int n;
int a,b,c;
int main()
{
	cin>>n;
	cin>>a>>b>>c;
	cout<<7;
	return 0;
}
*/
int n,m;
bool flag = 1;
const int N =101;
char a[N][N];
int min=1;
int main()
{
	cin>>n>>m;
	for(int i=0;i<n;i++)
	{
		for(int j=0;j<m;j++)
		{
			cin>>a[i][j];
		}
	}
	int dx[3]={-1,-1,1},dy[3]={-1,1,0};
	for(int i=1;i<n-1;i++)
	{
		for(int j=1;j<m-1;j++)
		{
			char ans = a[i][j];
			for(int n=0;n<3;n++)
			{
				int x=i+dx[n],y=j+dy[n];
				if(x>=0&&x<n&&y>=0&&y<m)
				{
					char ret = a[x][y];
					if(ret != ans)
						flag == 0;
				}
			}
			if(flag == 1)
			{
				min = 1;
				
				for(int k=1;k<max(n,m);k++)
				{
					for(int n=0;n<3;n++)
					{
						int x=i+dx[n]*k,y=j+dy[n]*k;
						if(x>=0&&x<n&&y>=0&&y<m)
						{
							char ret = a[x][y];
							if(ret != ans)
								flag == 0;
						}
					}
					if(flag == 1)
						min++;
				}
			}
				
			}
		}
	}
	cout<<min;
	return 0;
}
